Due to tragic misunderstandings at the birth of ATK, AtkUtil
can't actually be properly derived. Instead, each implementation
has to poke its vfuncs directly into the AtkUtilClass struct.
So painful to have shipped this stuff for 10 years...
static void
gail_util_class_init (GailUtilClass *klass)
{
- AtkUtilClass *atk_class = ATK_UTIL_CLASS (klass);
+ AtkUtilClass *atk_class;
+ gpointer data;
+
+ data = g_type_class_peek (ATK_TYPE_UTIL);
+ atk_class = ATK_UTIL_CLASS (data);
atk_class->add_global_event_listener = gail_util_add_global_event_listener;
atk_class->remove_global_event_listener = gail_util_remove_global_event_listener;